<?php
	class date{
	   private $error;
       
	   function prepareDate($data, $godzina=false) {
	       if(is_numeric($data)) {$data = date("Y-m-d H:i:s",$data);}
	       if($godzina) {
	               $exp = explode(" ", $data);
                   $godz = explode(":", $exp[1]);
                   $godz = $godz[0].":".$godz[1];
                   $data = $exp[0];                     
	       } else {
	           $expl = explode(" ", $data);
               $data = $expl[0];
	       }
           $pattern = "/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/"; 
	       if(preg_match($pattern, $data)) {
	           $inc = explode("-", $data);
               if($inc[1] > 12) {
                $this->error = "Podany miesiąc jest błędny";
                return false;
               } else {
                if($inc[2] > 31) {
                    $this->error = "Podany dzień jest błędny";
                    return false;
                } else {
                    
                    if(date("Y-m-d") == date("Y-m-d", strtotime($data))) {
                        $godzina ? $return = "Dzisiaj ".$godz : $return = "Dzisiaj ". $inc[0];
                        return $return;
                    } else {
                        if(date("Y-m-d", strtotime("-1 day")) == date("Y-m-d",strtotime($data))) {
                            $godzina ? $return = "Wczoraj ".$godz : $return = "Wczoraj ". $inc[0];
                            return $return;
                        } else {
                            if(date("Y-m-d", strtotime("-2 day")) == date("Y-m-d",strtotime($data))) {
                                $godzina ? $return = "Przedwczoraj ".$godz : $return = "Przedwczoraj ". $inc[0];
                                return $return;
                            } else {
                                if(date("Y-m-d", strtotime("-7 day")) == date("Y-m-d",strtotime($data))) {
                                    $godzina ? $return = "Tydzień temu ".$godz : $return = "Tydzień temu ". $inc[0];
                                    return $return;
                                } else {
                                    if(date("Y-m-d", strtotime("-30 day")) == date("Y-m-d",strtotime($data))) {
                                        $godzina ? $return = "Miesiąc temu ".$godz : $return = "Miesiąc temu ". $inc[0];
                                        return $return;
                                    } else {
                                        if($inc[1] >= 10) {
                                            $miesiac = Array("null", "Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień");
                                            $godzina ? $return = $inc[2]." ".$miesiac[$inc[1]]." ".$inc[0]. " ".$godz : $return = $inc[2]." ".$miesiac[$inc[1]]." ".$inc[0];
                                            return $return;
                                        } else {
                                            $miesiacinc = substr($inc[1],1,1);
                                            $miesiac = Array("null", "Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień");
                                            $godzina ? $return = $inc[2]." ".$miesiac[$miesiacinc]." ".$inc[0]. " ".$godz : $return = $inc[2]." ".$miesiac[$miesiacinc]." ".$inc[0];
                                            return $return;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
               }
	       } else {
	           $this->error = "Podana data jest błędna";
               return false;
	       }
	   }
       function getError() {
        return $this->error;
       }
	}
?>